// javascript
import axios from 'axios'
import Cookie from "js-cookie";


const request = axios.create({
    baseURL: 'http://localhost:8090/api', //所有接口都加上这个前缀
    timeout: 5000
})

// request 拦截机器
// 能够对请求发送前进行处理
// 比如说，加token、对请求数据进行加密等
request.interceptors.request.use(
    config => {
        config.headers['Content-Type'] = 'application/json;charset=utf-8';

        //设置请求头
        const adminJson = Cookie.get('admin')
        if (adminJson){
            config.headers['token'] = JSON.parse(adminJson).token

        }
        return config
    },
    error => {
        return Promise.reject(error)
    });

// response 拦截机器
// 能够对接口响应后进行处理
request.interceptors.response.use(
    response => {
        let res = response.data;
        // 兼容服务器返回的字符串数据
        if (typeof res === 'string') {
            res = res ? JSON.parse(res) : res;
        }
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        return Promise.reject(error)
    }
)

export default request